Some computer systems implement the concept of logical partitioning, in which a single physical computer operates essentially like multiple and independent virtual computers, referred to as logical partitions, with the various resources in the physical computer—e.g., processors, memory, and I/O (input/output devices)—allocated among the various logical partitions. Each logical partition executes a separate operating system, and from the perspective of users and of the software applications executing in the logical partition, operates as an independent computer. The partitions operate under the control of a partition manager or hypervisor.
A fundamental challenge in logically-partitioned computers is to properly allocate the resources of the physical computer between the logical partitions, in order to obviate the problem of one partition experiencing a surplus of unused resources with another partition experiencing a paucity of resources, which causes performance problems. In an attempt to address these problems, developers of logically-partitioned computers have created hypervisor techniques for changing the allocation of resources to partitions, in response to the changing needs of the partitions.
But, current hypervisors do not respond well to problems caused by a sub-optimal physical configuration or layout of the resources in the computer. For example, if a partition transfers a large amount of data from a storage device to a network, and the hypervisor has allocated adequate storage, network, processor, and memory resources, the partition may still experience performance problems if the storage and network resources are located on different I/O buses, which causes delay in the transfer of data. The partition might experience better performance if all of its resources were in close proximity to each other, but current hypervisors are unable to account for the location of resources when performing allocation.
Thus, a better technique is needed for allocating resources to logical partitions in computer systems.